package demo01;
/*
使用动态初始化数组的时候，其中的元素将会自动拥有一个默认值，规则如下：
如果是整数类型，那么默认值为0；
如果是浮点型，那么默认值为0.0;
如果是字符型，默认值为'\u0000'
如果是boolean类型，默认为false
如果是引用类型，那么默认为null

注意事项：
静态初始化其实也有默认值，只不过系统自动马上将默认值替换成了大括号中的具体数值。
 */
public class Demo05ArrayUse {
    public static void main(String[] args) {
        //初始化一个数组
        int[] array=new int[3];

        System.out.println(array);//内存地址值
        System.out.println(array[0]);//0
        System.out.println(array[1]);//0
        System.out.println(array[2]);//0

        //将数134交给数组中的1号元素
        array[1]=134;
        System.out.println(array[1]);
    }
}
/*
java的内存需要划分为5个部分：
1.栈（Stack）:存放的都是方法中的局部变量，方法的运行一定要在栈当中运行
            局部变量：方法的参数，或者是方法{}内部的变量
            作用域：一旦超出作用域，立刻从栈内存中消失
2.堆（Heap）：凡是new出来的东西都在堆内存中
            堆内存中的东西都有一个地址值：16进制
            堆内存里的数据都有默认值，规则：
                整数       默认为0
                浮点型     默认为0.0
                字符       默认为"\u0000"
                布尔       默认为false
                引用类型    默认为null
3.方法区（Method Area）:存储class相关的信息，包含方法的信息。
4.本地方法栈（Native Method Stack）：与操作系统相关
5.寄存器（pc Register）：与CPU相关
 */
